Skip to content

Conversation

@msooseth
Copy link
Collaborator

@msooseth msooseth commented Feb 10, 2026

Description

This PR:

  • Adds concretization tests for all ops
  • Adds PEq simplification tests for all(?) ops. I tried all...
  • Add missing PEq (ConcreteStore x) (ConcreteStore y) simplification when they were not equal
  • Missing LT simplification for when maxLit < a which is always false
  • Missing SHA256 concretization
  • Missing Mod x (Lit 1) simplification, which is always 0
  • Missing SMod x (Lit 1) simplification, which is always 0
  • Missing Xor a a simplification, which is always 0
  • Missing SHL a (Lit >=256) which is always 0
  • Missing SHR a (Lit >=256) which is always 0
  • Missing Or _ maxLit = maxLit
  • Missing Or maxLit _ = maxLit

Checklist

  • tested locally
  • added automated tests
  • updated the docs
  • updated the changelog

@msooseth msooseth marked this pull request as ready for review February 10, 2026 16:27
@msooseth msooseth requested a review from blishko February 10, 2026 16:28
Copy link
Collaborator

@blishko blishko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the property-based tests are not entirely happy.

Co-authored-by: blishko <blishko@argot.org>
@msooseth
Copy link
Collaborator Author

Ooops, thanks for spotting that bug. The property tests are not happy because we don't inject SHA256 constraints to the solver, so SHA256 conretization is throwing it off. I am removing SHA256 conretization for the moment. It's the easiest fix, and I don't think we need SHA256 support for the moment.

@msooseth msooseth force-pushed the concretize-check-all branch from eb615c7 to 72b41a6 Compare February 11, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants